﻿// Copyright © 2011 Paul Vanukoff (pvanukoff@gmail.com)

namespace Bravura.Native.PluginBase.Envelopes
{
	public abstract class Envelope : ISampleable
	{
		protected double _dt = 1.0 / 48000.0;

		protected Envelope(double dt)
		{
			_dt = dt;
		}

		/// <summary>
		/// Start or restart this envelope.
		/// </summary>
		public abstract void Start();

		/// <summary>
		/// Get the next sample from this envelope.
		/// </summary>
		public abstract double Sample();
	}
}
